From 1732652e7101144166219a5bea88b8cda0b25a98 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Thu, 26 Jun 2008 09:41:13 +0000 Subject: [PATCH] current_folder can be NULL here, do not try to reference it (Bug #540235) 2008-06-26 Carlos Garnacho * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_get_current_folder): current_folder can be NULL here, do not try to reference it (Bug #540235) (gtk_file_chooser_default_get_files): Deal better with gtk_file_chooser_default_get_current_folder() being able to return NULL. svn path=/trunk/; revision=20687 --- ChangeLog | 9 +++++++++ gtk/gtkfilechooserdefault.c | 12 ++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1ce7f7db1b..cbaeee26bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-06-26 Carlos Garnacho + + * gtk/gtkfilechooserdefault.c + (gtk_file_chooser_default_get_current_folder): current_folder can be + NULL here, do not try to reference it (Bug #540235) + (gtk_file_chooser_default_get_files): Deal better with + gtk_file_chooser_default_get_current_folder() being able to return + NULL. + 2008-06-26 Michael Natterer * gtk/gtktextutil.c (_gtk_text_util_append_special_char_menuitems): diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index d4c12df49b..08c0c2f9e2 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -7006,7 +7006,10 @@ gtk_file_chooser_default_get_current_folder (GtkFileChooser *chooser) return file; } - return g_object_ref (impl->current_folder); + if (impl->current_folder) + return g_object_ref (impl->current_folder); + + return NULL; } static void @@ -7389,7 +7392,12 @@ gtk_file_chooser_default_get_files (GtkFileChooser *chooser) if (impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER && info.result == NULL) { - info.result = g_slist_prepend (info.result, _gtk_file_chooser_get_current_folder_file (chooser)); + GFile *current_folder; + + current_folder = _gtk_file_chooser_get_current_folder_file (chooser); + + if (current_folder) + info.result = g_slist_prepend (info.result, current_folder); } return g_slist_reverse (info.result); -- 2.30.2